home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / e / amigae30a_fr.lha / AmigaE30f / Sources / Gfx / 24bitColourDemo.e next >
Encoding:
Text File  |  1994-02-21  |  1.7 KB  |  60 lines

  1. /* démo affichant une image 24 bits.
  2.    Uniquement pour machine AGA et WB3.0
  3.    Traduction : Olivier ANH (BUGSS)      */
  4.  
  5. OPT OSVERSION=39
  6.  
  7. CONST X=319, Y=255
  8.  
  9. DEF rast,s,win,x,y,z
  10.  
  11. PROC main()
  12.   IF s:=OpenS(X+1,Y+1,8,0,'bla')
  13.     rast:=stdrast         /* nécessaire pour fullcolour() */
  14.     IF win:=OpenW(0,0,X+1,Y+1,0,0,'bla',s,15,0)
  15.       FOR x:=0 TO 255 DO fullcolour(x,x,x,x)
  16.       FOR y:=0 TO Y DO Line(0,y,63,y,y AND $FF)
  17.       FOR y:=0 TO Y DO Line(64,y,127,y,y AND $FE)
  18.       FOR y:=0 TO Y DO Line(128,y,191,y,y AND $FC)
  19.       FOR y:=0 TO Y DO Line(192,y,255,y,y AND $F8)
  20.       FOR y:=0 TO Y DO Line(256,y,319,y,y AND $F0)
  21.       SetDrMd(stdrast,0)
  22.       TextF(0,20,' Pressez le bouton gauche pour afficher les points (x,y)')
  23.       TextF(0,30,' le bouton droit pour quitter.')
  24.       TextF(0,50,' nombre de couleurs :')
  25.       TextF(0,60,'   256     128     64      32      16   ')
  26.       TextF(0,80,' nombre de bits :')
  27.       TextF(0,90,'   24      21      18      15      12   ')
  28.       TextF(0,100,'   AGA     AGA     AGA     AGA     ECS  ')
  29.       WHILE Mouse()<>2
  30.         IF Mouse()=1
  31.           y:=MouseX(win)*4/5
  32.           z:=MouseY(win)
  33.           FOR x:=0 TO 255
  34.             fullcolour(x,y,x,z)
  35.           ENDFOR
  36.         ENDIF
  37.       ENDWHILE
  38.       CloseW(win)
  39.     ENDIF
  40.     CloseS(s)
  41.   ENDIF
  42. ENDPROC
  43.  
  44. PROC fullcolour(nr,r,g,b)       /* replace SetRGB32()   */
  45.   MOVE.L rast,A0                /* tant que les modules pour 3.0 */
  46.   SUB.L  #40,A0                 /* ne sont pas encore disponible. */
  47.   MOVE.L nr,D0
  48.   MOVE.L r,D1
  49.   SWAP   D1
  50.   LSL.L  #8,D1                  /* échange RGB et 32bit */
  51.   MOVE.L g,D2
  52.   SWAP   D2
  53.   LSL.L  #8,D2
  54.   MOVE.L b,D3
  55.   SWAP   D3
  56.   LSL.L  #8,D3
  57.   MOVE.L gfxbase,A6
  58.   JSR    -$354(A6)              /* SetRGB32(rast,nr,r32,g32,b32) */
  59. ENDPROC
  60.